1. Field
This application relates to firmware, firmware upgrades, networks, thin clients and FTP servers.
2. Description of Related Art
Programming instructions and data are often stored in one or more memory devices for use by a computer processing system.
Some of this information is often stored in a non-volatile memory chip. Information stored in this manner is often referred to as “firmware.”
One class of computers for which firmware is particularly important is thin clients. These computing devices typically lack a hard disk drive. Instead, much of the needed software is often stored locally as firmware. This firmware often includes the entire operating system and selected application programs, typically referred to as “add-ons.” The firmware in a thin client is often in the 7-20 megabyte range.
There is often a need to modify the content of firmware. This is particularly true in connection with thin clients because of the large proportion of the software that typically is stored in the firmware. Changes may be needed, for example, to fix bugs, to incorporate enhancements, to change brands, to accommodate hardware changes, to add needed applications, and/or to remove unneeded applications.
To this end, the memory device(s) that contain the firmware are often configured to be updatable by the computer system in which they operate. Flash memory devices are often used for this purpose.
Updating firmware can be challenging, particularly when the size of the firmware is large, the needed changes are frequent, numerous stations must be upgraded, and/or when different stations have different upgrade needs.
SNMP (Simple Network Management Protocol) has been used in the past to remotely upgrade firmware from an administrator's station. However, this can be time-consuming, particularly when there are a large number of stations that must be frequently upgraded with different versions of the upgrades. It can also require remote administrator software on the server to distribute the firmware.
Another approach has been to provide each station with a firmware upgrade utility. The user typically loads the utility manually and supplies the address of an FTP server at which the firmware upgrade resides, along with other needed information (e.g., a user name and password for logging into the FTP server). This approach, however, often requires users that are careful, diligent and skilled with computers. In a large system, it can also place an undue load on the FTP server, causing delays or failures in the downloading of the firmware upgrade. If the FTP server is not functioning, moreover, the firmware cannot be upgrade.
An automated firmware upgrade process has also been used. Upon boot up, a firmware upgrade loader program is executed. The program typically sends out a request to a DHCP (Dynamic Host Configuration Protocol) server for information about the FTP server that is storing the firmware upgrade, such as its IP address, the path to the file, the user ID and a password. This approach, however, critically relies upon the presence and operation of the DHCP server. It can also suffer from many of the same problems as the approaches discussed above, including delays or failures caused by an overloaded or malfunctioning FTP server.